#pragma once

#include "ToolBase.h"

namespace ParticleEngine
{

	class Engine;

	class ToolCopy : public ToolBase
	{
	public:
		ToolCopy(Engine& NewEng);
		~ToolCopy();

		virtual void		MouseMove(const Vec<2, float> NewMouseSpacePos);
		virtual void		MouseDownLeft();
		virtual void		MouseDownRight();
		virtual void		MouseUpLeft();
		virtual void		MouseUpRight();

		//getter und setter
		virtual bool		GetBindNew(){ return BindNew; };
		virtual void		SetBindNew(bool NewBindNew){ BindNew = NewBindNew; };

		static const DescriptorTool Descriptor;

	protected :
		virtual void		CreateArrayPos();

	private:
		enum ToolMode
		{
			Select,
			Paste
		};

		void				ClearParticleClipboard();

		ToolMode			Mode;
		Rect<float>			FrameRect;

		std::vector<ParticleBase*> ParticleClipboard;
	};

};